package com.lagou.dao;

import com.lagou.pojo.Recruit;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import java.util.List;

public interface RecruitDao extends JpaRepository<Recruit,String>,
        JpaSpecificationExecutor<Recruit> {
    /**
     * 查询出推荐岗位 默认显示9个
     *  方式一 ： SpringDataJAP方式
     *  方式二 : SQL语句 相当于每页9条,取出第1页  ===>防止SQL注入
     *   SELECT * from tb_recruit
     *   where isrcommend =1 limit 0,9;
     *
     *   比较复杂的业务---->  多表语句
     *
     *   ByIsrcommend ----->where  Isrcommend = ?
     *  =====>必须传递参数
     *
     */
    public List<Recruit> findTop9ByIsrcommend(String commend);

    /**
     * 查询出热门岗位，默认显示9条
     */
    public List<Recruit> findTop9ByIshot(String Ishot);

    /**
     * 查询出可用最新岗位,按照日期的排序,默认显示9个
     *
     * 尝试去改变这个方法
     */
    //方法一  desc
    public List<Recruit> findTop9ByStateOrderByCreatetimeDesc(String statue);
    //方式二：看对应的Servcie方法 findAll(Sort参数直接传递值多个字段)
    //	return recruitDao.findAll(Sort.by(Sort.Direction.DESC,"createtime"));
    // 有的版本的构造器被私有化
    //return recruitDao.findAll(new Sort(Sort.Direction.ASC,"createtime"));

    //方式三: SQL语句
}
